package com.eightworld3.supermarket.service;

import com.eightworld3.supermarket.domain.UserInfo;
import com.eightworld3.supermarket.service.dto.UserInfoDTO;
import com.eightworld3.supermarket.service.dto.add.UserInfoAddDTO;
import com.eightworld3.supermarket.service.dto.result.ResponseResult;

import java.util.List;

/**
 * @author EightWorld3
 */
public interface UserInfoService {
    /**
     * 查询所有
     * @return 返回所有UserInfo(用户)
     */
    List<UserInfo> selectAll();

    /**
     * 根据userId查询UserInfo
     * @param userId 用户id
     * @return 返回userId对应的UserInfo对象(经ResponseResult包装类修饰)
     */
    ResponseResult selectByUserId(Integer userId);

    /**
     * 新增UserInfo
     * @param userInfoAddDTO UserInfo新增DTO对象
     * @return 返回当前当次新增状况(经ResponseResult包装类修饰)
     */
    ResponseResult addUserInfo(UserInfoAddDTO userInfoAddDTO);

    /**
     * 修改UserInfo
     * @param userInfoDTO UserInfo DTO对象
     * @return 返回当前当次更新状况(经ResponseResult包装类修饰)
     */
    ResponseResult updateUserInfo(UserInfoDTO userInfoDTO);

    /**
     * 删除UserInfo
     * @param userId ID号
     * @return 返回当前当次删除状况(经ResponseResult包装类修饰)
     */
    ResponseResult deleteUserInfoById(int userId);
}
